// 导入Redis客户端创建函数
const { createClient } = require("redis");

// 创建Redis客户端实例并配置连接参数
const redisClient = createClient({
  url: process.env.REDIS_URL, // 从环境变量获取Redis连接URL
  password: process.env.REDIS_PASSWORD || undefined, // 从环境变量获取密码，无密码时为undefined
  socket: {
    connectTimeout: 5000, // 连接超时时间设置为5秒（5000毫秒）
  },
});

// 尝试连接到Redis服务器
// 连接失败时通过catch捕获错误并打印
redisClient.connect().catch(console.error);

// 注册Redis客户端的错误事件监听器
// 当发生错误时（包括连接和操作错误）触发
redisClient.on("error", (err) => {
  console.error("[Redis 错误] 连接或操作失败：", err.message);
});

// 导出配置好的Redis客户端实例供其他模块使用
module.exports = redisClient;
